solve intricate puzzles